工控網(wǎng)首頁(yè)
>

應(yīng)用設(shè)計(jì)

>

用C11T/R模塊設(shè)計(jì)及實(shí)現(xiàn)遠(yuǎn)程無(wú)線監(jiān)測(cè)系統(tǒng)

用C11T/R模塊設(shè)計(jì)及實(shí)現(xiàn)遠(yuǎn)程無(wú)線監(jiān)測(cè)系統(tǒng)

前言 工業(yè)現(xiàn)場(chǎng)、倉(cāng)庫(kù)、博物館乃至居民小區(qū)等經(jīng)常需要進(jìn)行多點(diǎn)開(kāi)關(guān)量信號(hào)的監(jiān)測(cè)、報(bào)警及信號(hào)的遠(yuǎn)傳,若采用有線方式,會(huì)有許多局限性。而采用無(wú)線模塊來(lái)進(jìn)行遠(yuǎn)程信號(hào)的傳輸,將使系統(tǒng)設(shè)計(jì)方便、快捷,特別適用于各種架線不方便的監(jiān)測(cè)區(qū)域。本文介紹的基于無(wú)線模塊的遠(yuǎn)程監(jiān)測(cè)與報(bào)警系統(tǒng),利用單片機(jī)控制無(wú)線數(shù)傳模塊,通過(guò)無(wú)線的方式進(jìn)行信號(hào)的遠(yuǎn)程傳輸,簡(jiǎn)單靈活,傳輸可靠,可滿足遠(yuǎn)距離監(jiān)測(cè)和數(shù)據(jù)采集系統(tǒng)的需要。 硬件總體結(jié)構(gòu) 基于無(wú)線模塊的遠(yuǎn)程監(jiān)測(cè)傳輸系統(tǒng)發(fā)射部分的控制器選用89C2051,主要作用是存儲(chǔ)檢測(cè)到的信號(hào)狀態(tài),然后通過(guò)控制發(fā)射模塊將其發(fā)送出去。接收部分的控制器選用89C51,主要作用是將接收模塊傳來(lái)的數(shù)據(jù)信息存儲(chǔ)并顯示。 無(wú)線收發(fā)模塊是本系統(tǒng)的核心部件,所選用的無(wú)線數(shù)傳模塊型號(hào)為C11,這是一款Jammy(捷麥)公司的產(chǎn)品,它包括一個(gè)發(fā)送模塊(縮寫(xiě)為:C11T)和一個(gè)接收模塊(縮寫(xiě)為:C11R),單發(fā)單收,分別與各自的控制電路相接后即可進(jìn)行無(wú)線收發(fā)工作。該模塊的額定工作頻段為145.150MHz,通信速率為1200bps;通信格式采用異步通信,1個(gè)起始位,8個(gè)數(shù)據(jù)位,1個(gè)停止位,額定工作電源為DC6V。且發(fā)送椹 及接收模塊旨腳結(jié)構(gòu)完全相同。 模塊與控制器之間通信的內(nèi)容有兩類(lèi),一類(lèi)是數(shù)據(jù),一類(lèi)是命令。數(shù)據(jù)指的是通過(guò)無(wú)線發(fā)送和接收過(guò)程,再由接收模塊傳送給其對(duì)應(yīng)的控制器的信息。命令則是指上位機(jī)通過(guò)串口,發(fā)送給模塊讓模塊執(zhí)行一定的動(dòng)作或模塊傳送給控制器報(bào)送模塊內(nèi)的一些參數(shù)或者狀態(tài)的數(shù)據(jù)信息。特別值得注意的是,當(dāng)控制器向模塊傳送信息時(shí),若傳送的信息為命令,則必須將模塊的DTR端置為邏輯“0”;若傳送的信息為數(shù)據(jù),則必須將模塊的DTR端置為邏輯“1”??刂破鲗?duì)無(wú)線模塊的控制是通過(guò)專(zhuān)用的控制指令來(lái)實(shí)現(xiàn)的,其指令非常簡(jiǎn)單。 硬件電路設(shè)計(jì) 本文針對(duì)遠(yuǎn)程液位進(jìn)行監(jiān)測(cè)設(shè)計(jì)出一點(diǎn)對(duì)點(diǎn)無(wú)線收發(fā)監(jiān)測(cè)裝置。其以送端的檢測(cè)部分可對(duì)16路液位狀態(tài)進(jìn)行檢測(cè),液位到達(dá)警戒液位高度后,線路接通,該檢測(cè)點(diǎn)電平為低電平。89C2051將檢測(cè)到的形狀量狀態(tài)收集并存儲(chǔ)起來(lái),然后通過(guò)控制發(fā)射模塊將其發(fā)送出去。接收端通過(guò)89C51將接收模塊傳過(guò)來(lái)的數(shù)據(jù)信息存儲(chǔ)并轉(zhuǎn)換后通過(guò)LED顯示。相關(guān)管理人員通過(guò)LED顯示就可以判斷液面是否到達(dá)了警戒線或者是壓不夠等。其發(fā)送端和接收端的配件電路分別如圖1和圖2所示。 其中發(fā)送電路采用了74LS245雙向總線驅(qū)動(dòng)器,由于采集進(jìn)來(lái)的數(shù)據(jù)流向?yàn)锽   A,故DIR端只有為低電平時(shí)才將數(shù)據(jù)信息采入。其中一片的使能端前接一反相器,改變P3.4電平可以使兩片74LS245交替工作。接收端采用了74FS574鎖存器,要使其正常工作,輸出使能端OC與89C51寫(xiě)選通端之間要接一反相器。為了以后大規(guī)模接收的需要,可以采用LED點(diǎn)陣顯示,利用3—8譯碼器進(jìn)行擴(kuò)展選通每一列掃描線。發(fā)送端和接收端電路都采用了Maxim公司的MAX813看門(mén)狗,以防止程序跑飛。本系統(tǒng)可以監(jiān)測(cè)16路信號(hào),假如檢測(cè)輸入部分通道不夠的話, 可以通過(guò)在發(fā)送端選用其他I/O口較多的單片機(jī)并擴(kuò)展I/O口來(lái)實(shí)現(xiàn)。發(fā)送和接收電路跟無(wú)線模塊引出的四條通信線直接相連,進(jìn)行點(diǎn)對(duì)點(diǎn)的通信。類(lèi)似地還可以采用多點(diǎn)發(fā)一點(diǎn)收的組網(wǎng)方式來(lái)對(duì)更多個(gè)檢測(cè)點(diǎn)進(jìn)行監(jiān)測(cè)。 軟件設(shè)計(jì) 按照以上硬件電路設(shè)計(jì),對(duì)系統(tǒng)軟件編程的基本思路是每隔2秒發(fā)送端控制器接收檢測(cè)部分傳來(lái)的狀態(tài)信息,并存儲(chǔ)到固定地址中后準(zhǔn)備發(fā)送(注:此處存儲(chǔ)16路形狀時(shí)信號(hào)共用兩個(gè)字節(jié))。由于可能在發(fā)送過(guò)程中會(huì)有少量的誤碼產(chǎn)生,故需在接收端由控制器查詢CRC校驗(yàn)結(jié)果。此外,程序設(shè)計(jì)還考慮了今后硬件檢測(cè)點(diǎn)增多后傳送多個(gè)字節(jié)的狀況,只需對(duì)其略加修改即可。發(fā)送和接收程序流程圖分別為如圖3和如圖4所示。 模塊初始化子程序主要是利用模塊自帶的控制指令對(duì)模塊的身份地址和目的進(jìn)行調(diào)協(xié)等工作,特別注意在對(duì)模塊進(jìn)行初始化時(shí),控制器必須先將收接模塊的DTR端置“0”。發(fā)送指令時(shí)應(yīng)先發(fā)D7H,然后發(fā)送后面的命令字節(jié)??刂破魍ㄟ^(guò)串口依次發(fā)送D7H,F(xiàn)5H,××H,××H格式俱可設(shè)置身份地址;依次發(fā)送D7H,E1H,××H,××H格式俱可設(shè)置目的地址。控制器通過(guò)串口依次發(fā)送D7H,F(xiàn)5H,××H,××H格式命令可設(shè)置身份地址;依次發(fā)送D7H,E1H,××H,××H格式命令可調(diào)協(xié)目的地址。若將發(fā)減災(zāi) 模塊的身份地址設(shè)為0001,目的地址設(shè)為0002。準(zhǔn)備無(wú)線發(fā)送數(shù)據(jù)時(shí),發(fā)送端控制器必須先將模塊的DTR端置“1”。假如一次發(fā)送多個(gè)字節(jié),發(fā)送過(guò)程中呆能會(huì)有數(shù)據(jù)丟失現(xiàn)象。但是判斷數(shù)據(jù)丟失之前需要判斷這次發(fā)送過(guò)程是否完成了。對(duì)此在程序設(shè)計(jì)中采取超時(shí)處理的方法:發(fā) 送端每隔2秒檢測(cè)一次形狀量狀態(tài),并將檢測(cè)來(lái)的多個(gè)狀態(tài)字節(jié)存儲(chǔ)到固定地址中,然后開(kāi)始發(fā)送。每隔5~10毫秒發(fā)送一個(gè)字節(jié),這樣全部發(fā)送完也只需幾十個(gè)毫秒的時(shí)間。接收端只要在超過(guò)這幾十個(gè)毫秒的時(shí)間后去判斷數(shù)據(jù)是否發(fā)送完,就可以知道發(fā)大獎(jiǎng)賽客串上是否有數(shù)據(jù)丟失現(xiàn)象,按照該方法,接收端只需在第一個(gè)字節(jié)接收的同時(shí)打開(kāi)定時(shí)器進(jìn)行計(jì)時(shí)(發(fā)磅數(shù)據(jù)較少時(shí),定時(shí)時(shí)間一般為100~200毫秒),此后在每次數(shù)據(jù)來(lái)臨前查詢定時(shí)器是否溢出。假如定時(shí)器沒(méi)有溢出且數(shù)據(jù)沒(méi)有完全發(fā)磅完則繼續(xù)等待接收數(shù)據(jù)。若定時(shí)器流出,程度查詢數(shù)據(jù)是否發(fā)送完,沒(méi)有發(fā)送完則表示在這次發(fā)送過(guò)程中有數(shù)據(jù)丟失,LED繼續(xù)顯示上次的狀態(tài)并等待下一次接收的到來(lái)。若是在發(fā)送過(guò)程中,接收查詢到已經(jīng)收到了預(yù)期的狀態(tài)字節(jié)個(gè)數(shù),則關(guān)閉定時(shí)器提前結(jié)束計(jì)時(shí),轉(zhuǎn)向CRC校驗(yàn),假期校驗(yàn)結(jié)果正確,則顯示這次接收的結(jié)果。若錯(cuò)誤,則繼續(xù)顯示上次的狀態(tài)并等待下一次接收的到來(lái)。
發(fā)送及接受程序流程圖發(fā)送及接受程序流程圖
結(jié)語(yǔ) 利用無(wú)線模塊來(lái)進(jìn)行遠(yuǎn)程多點(diǎn)信號(hào)監(jiān)測(cè),方便、快捷、適用范圍廣泛?,F(xiàn)在已經(jīng)在很多領(lǐng)域得到了應(yīng)用。上述設(shè)計(jì)中所使用的無(wú)線模塊傳輸誤碼率較低,查詢 CRC校驗(yàn)結(jié)果方便。控制命令簡(jiǎn)單,縮短了項(xiàng)目開(kāi)發(fā)周期。隨著技術(shù)的進(jìn)步,將有更多先進(jìn)的無(wú)線模塊用于以后的遠(yuǎn)程監(jiān)測(cè)系統(tǒng)中。 參考文獻(xiàn) 1 程云長(zhǎng),陳學(xué)明.C11控制命令及用法.捷麥通信有限公司 2 李朝青.PC機(jī)及單片機(jī)數(shù)據(jù)通信技術(shù).北京:北京航空航天大學(xué)出版社.2002 3 何立民.MCS-51單片機(jī)應(yīng)用系統(tǒng)設(shè)計(jì)—系統(tǒng)配置與接口技術(shù).北京:北京航空航天大學(xué)出版社.2001
投訴建議

提交

查看更多評(píng)論
其他資訊

查看更多

捷麥G200型GPRS模塊在煤礦安全監(jiān)控中的應(yīng)用

捷麥G200型GPRS模塊在煤礦安全監(jiān)控中的應(yīng)用

無(wú)線模塊的透明通信方式與有線連接的比較

捷麥 G200 GPRS模塊說(shuō)明書(shū)

捷麥 R4011模塊用戶手冊(cè)